package editorsvg.editor.documento;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Contiene una colección de simbolos.
 * @author Jorge Berjano
 */
public class MapaSimbolos {
    private Map<String, Simbolo> mapa = new HashMap<String, Simbolo>();
    private List<Simbolo> lista = new ArrayList<Simbolo>();

    public MapaSimbolos() {
    }
    
    public void actualizar() {
        for (Simbolo simbolo : lista) {
            simbolo.actualizar();
        }
    }
    
    public void agregar(String nombre, Simbolo simbolo) {
        simbolo.setId(nombre);
        mapa.put(nombre, simbolo);       
        lista.add(simbolo);
    }
    
    public Simbolo obtener(String nombre) {
        return mapa.get(nombre);
    }
    
    public List<Simbolo> getLista() {
        return lista;
    }

    public void borrar(String nombre) {
        Simbolo simbolo = mapa.get(nombre);
        mapa.remove(nombre);
        lista.remove(simbolo);        
    }
}
